// /*
//  * @Author: WanYiMing
//  * @Date:2024-07-09-16:34
//  * @Description:
//  */

using System.Collections.Generic;
using Code.GameLogic.BaseClass.Model;

namespace Code.GameLogic.XianJian
{
    public class XianJianBo:BaseBo
    {
        private MainBehavior _mainBehavior;//主动技能
        private int _assistCell;//辅助槽位
        private List<AssistBehavior> _assistBehaviors;//辅助技能槽位
        private JianQi _jianQi;//剑气模型

        
        
        public XianJianBo(BaseDescription baseDescription):base(baseDescription)
        {
        }
        

        public MainBehavior MainBehavior
        {
            get => _mainBehavior;
            set => _mainBehavior = value;
        }

        public int AssistCell
        {
            get => _assistCell;
            set => _assistCell = value;
        }

        public List<AssistBehavior> AssistBehaviors
        {
            get => _assistBehaviors;
            set => _assistBehaviors = value;
        }

        public JianQi JianQi
        {
            get => _jianQi;
            set => _jianQi = value;
        }
    }


    public class JianQi
    {
        private double _jqFlySpeed;//剑气飞行速度
        private string _trailStyle;//尾迹样式
        
        public double JqFlySpeed
        {
            get => _jqFlySpeed;
            set => _jqFlySpeed = value;
        }

        public string TrailStyle
        {
            get => _trailStyle;
            set => _trailStyle = value;
        }
    }

    public class MainBehavior
    {
        private int _area;//范围
        private double _asp;//速度
        private int _act;//攻击力
        private double _xjFlySpeed;//仙剑飞行速度
        private string _skill;

        public int Area
        {
            get => _area;
            set => _area = value;
        }

        public double Asp
        {
            get => _asp;
            set => _asp = value;
        }

        public int Act
        {
            get => _act;
            set => _act = value;
        }

        public double XjFlySpeed
        {
            get => _xjFlySpeed;
            set => _xjFlySpeed = value;
        }

        public string Skill
        {
            get => _skill;
            set => _skill = value;
        }
    }

    public class AssistBehavior
    {
        private int _priority;//优先级
        private string _assistCode;//编码
        private string _skill;//技能
        private AssistTypeEnum _assistTypeEnum;//类型

        public int Priority
        {
            get => _priority;
            set => _priority = value;
        }

        public string AssistCode
        {
            get => _assistCode;
            set => _assistCode = value;
        }

        public AssistTypeEnum AssistTypeEnum
        {
            get => _assistTypeEnum;
            set => _assistTypeEnum = value;
        }

        public string Skill
        {
            get => _skill;
            set => _skill = value;
        }
    }

    public enum AssistTypeEnum
    {
        Assist,//辅助型
        Attack,//攻击型
    }
    

}